import { PageVO, DictVO } from '@/common/vo';
// 映射关系列表字段
export interface MappingVO {
    sourceType: string; // 来源类型
    sourceGroup: string; // 来源分组
    sourceCode: string; // 来源编号
    sourceName: string; // 来源名称
    sourceVision: string; // 来源版本号
    sourceStatus: string; // 来源状态
    termCode: string; // 条款编号
    termName: string; // 条款名称
    O32EntryCode_: string; // O32条目编号
    O32EntryName_: string; // O32风险说明
    O32EntryStatus: string; // O32条目状态
    YhEntryCode_: string; // YH条目编号
    YhEntryName_: string; // YH风险说明
    YhEntryStatus: string; // YH条目状态
    lastAdjustTime: string; // 最近调整时间
}

// 合规卡列表字段
export interface cardSearchDTO {
    cardCode_: string; // 合规卡编号,
    termCode_: string; // 条款编号,
    termId_: string; // 条款号,
    termName_: string; // 条款名称,
    suitableFund_: string; // 条款适用产品,
    suitableExemptFund_: string; // 条款豁免产品,
    sourceCode_: string; // 来源编号,
    sourceName_: string; // 来源名称,
    sourceVisible_: string; // 来源版本号,
    sourceSuitableFund_: string; // 来源适用产品,
    sourceType_?: string; // 来源类型,
    sourceStatus_: string; // 来源状态
    O32EntryCode_: string; // O32条目编号,
    O32EntryName_: string; // O32风险说明,
    O32EntryStatus_: string; // O32条目状态,
    O32EntryEffecDate_: string; // O32条目生效日期,
    O32EntryLoseEffecDate_: string; // YH条目失效日期,
    YhEntryCode_: string; // YH条目编号,
    YhEntryName_: string; // YH风险说明,
    YhEntryStatus_: string; // YH条目状态,
    YhEntryType_: string; // YH条目类型,
    YhEntryEffecDate_: string; // YH条目生效日期,
    YhEntryLoseEffecDate_: string; // YH条目失效日期,
    cardRemark_: string; // 合规卡备注,
    cardStatus_: string; // 合规卡状态,
    creator_: string; // 创建人,
    creatDate_: string; // 创建时间,
    modifier_: string; // 更新人,
    moduifyDate_: string; // 更新时间,
    [x: string]: any;
}

// 合规卡请求参数
export interface cardSearchReqVO extends cardSearchDTO {
    showEffective_?: boolean;
    moveSame_?: boolean;
    showPending_?: boolean;
    paging?: PageVO;
    [x: string]: any;
}

export interface SourceTreeVO {
    articleType: string;
    createDate: number;
    createTime: number;
    createUser: string;
    currentValidNodeNum: number;
    id: string;
    isProduct: boolean;
    label: string;
    level: number;
    modifyDate: number;
    modifyTime: number;
    modifyUser: string;
    parentId: string;
    path: string;
    systemData: boolean;
}

/**
 * 条目变更记录DTO
 */
export interface EntryRecordDTO {
    cHsEntryCode: string;
    cYhEntryCode: string;
    entryName: string;
    cChangeBigTypes: string[];
    dMdDateStart?: string;
    dMdDateEnd?: string;
    dMdDate?: string[];
    cModifyEvents?: any[];
    cModifyText: string;
    cChangeReason: string;
    cMdUser: string;
    sort?: string;
    paging?: PageVO;
}

/**
 * 条目变更记录VO
 */
export interface EntryRecordVO {
    cHsEntryCode: string; // O32条目编码
    cYhEntryCode: string; // YH条目编码
    entryName: string; // 风险说明
    cChangeBigType: string; // 调整大类
    cModifyEvent: string; // 操作类型
    cModifyText: string; // 详细变更内容
    cChangeReason: string; // 变更原因
    cMdUser: string; // 操作人
    dMdDate: number; // 操作时间
    dMdTime: number; // 操作时间
    nSerialNo: number; // 流水号
}

/**
 * 条目变更记录Rep
 */
export interface EntryRecordRepVO {
    [x: string]: any;
    list: EntryRecordVO[];
    paging: PageVO;
}
export interface sourceManageDTO {
    sourceType_: string; // 来源类型,
    sourceGroupType_: string; // 来源分组
    sourceCode_: string; // 来源编号,
    sourceName_: string; // 来源名称,
    sourceVisible_: string; // 来源版本号,
    sourceSuitableFund_: string; // 来源适用产品,
    sourceFile_: string; // 来源附件
    sourceStatus_: string; // 来源状态
    sourcePublishDate_: string; // 来源发布/签署日期
    sourceEffecDate_: string; // 来源生效日期
    sourceRemark_: string; // 来源备注
    creator_: string; // 创建人,
    creatDate_: string; // 创建时间,
    modifier_: string; // 更新人,
    moduifyDate_: string; // 更新时间,
    publicMoneySource_?: boolean;
    fundTypePublicSource_?: string;
    simuSource_?: boolean;
    fundTypeSimuSource_?: string;
    zhuanhuSource_?: boolean;
    fundTypeZhuanhuSource_?: string;
    [x: string]: any;
}

export interface sourceManageReqVO extends sourceManageDTO {
    keyword: string; // 关键字
    showEffectSource: boolean; // 只展示生效状态的来源
    paging?: PageVO;
}

// 来源管理操作记录字段
export interface sourceManageRecordDTO {
    operationNo: string; //操作序号,
    operationType_: string; //操作类型,
    changeType_: string; //变动方式,
    sourceType_: string; //来源类型,
    sourceGroupType_: string; //来源分组,
    sourceCode_: string; //来源编号,
    sourceName_: string; //来源名称,
    sourceVersion_: string; //来源版本号,
    sourceSuitableFund_: string; //来源适用产品,
    sourceFile_: string; //来源附件,
    sourceStatus_: string; //来源状态,
    sourcePublishDate_: string; //来源发布/签署日期,
    sourceEffecDate_: string; //来源生效日期,
    sourceRemark_: string; //来源备注,
    operator_: string; //操作人,
    operationTime_: string; //操作时间
}

// 条款管理列表字段
export interface clauseManageDTO {
    termCode_: string; // 条款编号,
    termId_: string; // 条款号,
    termName_: string; // 条款名称,
    termRead_: string; // 条款解读
    suitableFund_: string; // 条款适用产品,
    suitableExemptFund_: string; // 条款豁免产品,
    O32support_: string; // O32系统支持情况
    Yhsupport_: string; //YH系统支持情况
    sourceType_: string; // 来源类型,
    sourceGroupType_: string; // 来源分组
    sourceCode_: string; // 来源编号,
    sourceName_: string; // 来源名称,
    sourceVisible_: string; // 来源版本号,
    sourceSuitableFund_: string; // 来源适用产品,
    sourceStatus_: string; // 来源状态
    termCreator_: string; // 创建人,
    termCreatDate_: string; // 创建时间,
    termModifier_: string; // 更新人,
    termModuifyDate_: string; // 更新时间,
    [x: string]: any;
}
// 条款管理请求字段
export interface clauseManageReqVO extends clauseManageDTO {
    keyword: string; // 关键字
    showEffectSource: boolean; // 只展示生效状态的来源
    paging?: PageVO;
}
